package test3;

import java.util.concurrent.Callable;

/**
 * @author liule
 * @date 2023/8/17 14:53
 * @Desc : 多线程的三种创建方式
 * 创建线程方式一:继承Thread类,重写run()方法，调用start开启线程
 * 总结:注意,线程开启不一定立即执行,CPU调度执行
 */
public class TestThread3_1 {
    public static void main(String[] args) {
        Object object = new Object();
        // 1.继承Threa类
        Thread thread = new Thread();
        // 2.实现Runnable接口
        Runnable runnable = () ->{};//Lambda 表达式
        Runnable runnable2 = new Runnable() {
            @Override
            public void run() {
//                System.out.println("123");
            }
        };
        // 3.实现Callable接口 ： 工作后常用
        Callable callable = new Callable() {
            @Override
            public Object call() throws Exception {
                return null;
            }
        };

        // 1继承Threa类
        ExtendThresd t1 = new ExtendThresd();
        // 调用start方法才能开启线程 并非run方法
        t1.start();
        for (int i = 0; i < 100; i++) {
            System.out.println("main:"+i);
        }

    }
}
